/**
 *  Interface that defines endpoints for Admin Console
 *
 *  @author Scott Monahan
 *  @version $Id$
 *  
 *  File last changed on $Date:$ by $Author:$ in $Rev:$
 *
 */

package info637.pprc.adaptor;

import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.FormParam;

@Path("/admin")
public interface IAdminRESTAdaptor {

	@POST
	@Path("/login/")
	java.util.Map<String, String> login(
		@FormParam(APIConstants.requestId) String requestId, 
		@FormParam(APIConstants.userName) String userName, 
		@FormParam(APIConstants.password) String password
	);

	@POST
	@Path("/getPropertyListings/")
	java.util.Map<String, Object> getPropertyListings(
		@FormParam(APIConstants.requestId) String requestId, 
		@FormParam(APIConstants.sessionId) String sessionId, 
		@FormParam(APIConstants.propertyName) String propertyName, 
		@FormParam(APIConstants.tenantName) String tenantName, 
		@FormParam(APIConstants.balance) String balance
	);

	@POST
	@Path("/addProperty/")
	java.util.Map<String, String> addProperty(
		@FormParam(APIConstants.requestId) String requestId, 
		@FormParam(APIConstants.sessionId) String sessionId, 
		@FormParam(APIConstants.propertyName) String propertyName,
		@FormParam(APIConstants.address) String address,
		@FormParam(APIConstants.city) String city,
		@FormParam(APIConstants.state) String state,
		@FormParam(APIConstants.zip) String zip,
		@FormParam(APIConstants.monthlyRent) String monthlyRent,
		@FormParam(APIConstants.securityDeposit) String securityDeposit,
		@FormParam(APIConstants.ownerName) String ownerName,
		@FormParam(APIConstants.numOfBeds) String numOfBeds,
		@FormParam(APIConstants.numOfBaths) String numOfBaths,
		@FormParam(APIConstants.sqft) String sqft,
		@FormParam(APIConstants.appliances) String appliances,
		@FormParam(APIConstants.description) String description,
		@FormParam(APIConstants.contactInfo) String contactInfo,
		@FormParam(APIConstants.showOnline) String showOnline,
		@FormParam(APIConstants.showInFlyer) String showInFlyer
	);
	
	@POST
	@Path("/getPropertyDetail/")
	java.util.Map<String, String> getPropertyDetail(
		@FormParam(APIConstants.requestId) String requestId, 
		@FormParam(APIConstants.sessionId) String sessionId,
		@FormParam(APIConstants.propertyId) String propertyId
	);

	@POST
	@Path("/updateProperty/")
	java.util.Map<String, String> updateProperty(
		@FormParam(APIConstants.requestId) String requestId, 
		@FormParam(APIConstants.sessionId) String sessionId, 
		@FormParam(APIConstants.propertyId) String propertyId,
		@FormParam(APIConstants.propertyName) String propertyName,
		@FormParam(APIConstants.monthlyRent) String monthlyRent,
		@FormParam(APIConstants.securityDeposit) String securityDeposit,
		@FormParam(APIConstants.ownerName) String ownerName,
		@FormParam(APIConstants.numOfBeds) String numOfBeds,
		@FormParam(APIConstants.numOfBaths) String numOfBaths,
		@FormParam(APIConstants.sqft) String sqft,
		@FormParam(APIConstants.appliances) String appliances,
		@FormParam(APIConstants.description) String description,
		@FormParam(APIConstants.contactInfo) String contactInfo,
		@FormParam(APIConstants.showOnline) String showOnline,
		@FormParam(APIConstants.showInFlyer) String showInFlyer
	);
}